home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / cesarftp_overflows.nasl < prev    next >
Text File  |  2005-01-14  |  2KB  |  81 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6.  
  7. if(description)
  8. {
  9.  script_id(11755);
  10.  script_bugtraq_id(2972, 7946, 7950);
  11.  script_cve_id("CAN-2001-0826");
  12.  
  13.  script_version ("$Revision: 1.5 $");
  14.  
  15.  name["english"] = "CesarFTP multiple overflows";
  16.  script_name(english:name["english"]);
  17.  
  18.  desc["english"] = "
  19. The remote host is running CesarFTP, a FTP server for
  20. Windows systems.
  21.  
  22. There are multiple flaws in this version of CesarFTP which
  23. may allow an attcker to execute arbitrary code on this host,
  24. or simply to disable this server remotely.
  25.  
  26. Solution : Disable this service, upgrade to version 0.99h or newer
  27. Risk factor : High";
  28.  
  29.  script_description(english:desc["english"]);
  30.  
  31.  summary["english"] = "CesarFTP overflows";
  32.  script_summary(english:summary["english"]);
  33.  
  34.  script_category(ACT_GATHER_INFO);
  35.  
  36.  
  37.  script_copyright(english:"This script is Copyright (C) 2003 Tenable Network Security");
  38.  family["english"] = "Gain a shell remotely";
  39.  script_family(english:family["english"]);
  40.  script_dependencie("find_service_3digits.nasl");
  41.  script_require_ports("Services/ftp", 21);
  42.  exit(0);
  43. }
  44.  
  45. #
  46. # The script code starts here
  47. #
  48.  
  49. include("ftp_func.inc");
  50.  
  51. port = get_kb_item("Services/ftp");
  52. if(!port)port = 21;
  53.  
  54. if(!get_port_state(port))exit(0);
  55.  
  56. soc = open_sock_tcp(port);
  57. if(!soc)exit(0);
  58.  
  59. banner = ftp_recv_line(socket:soc);
  60.  
  61.  
  62.  if(egrep(pattern:"^220 CesarFTP 0\.([0-8]|9[0-8]|99[a-g])", string:banner))
  63.  {
  64.   security_hole(port);
  65.  }
  66.  
  67. ftp_close(socket:soc);
  68.  
  69. exit(0);
  70.  
  71. #
  72. # The following code freezes the GUI, but does not
  73. # crash the FTP daemon
  74. send(socket:soc, data:'USER !@#$%^&*()_\r\n');
  75. r = ftp_recv_line(socket:soc);
  76. display(r);
  77. send(socket:soc, data:'USER ' + crap(256) + '\r\n');
  78. r = ftp_recv_line(socket:soc);
  79. display(r);
  80.